/*----------------------------------------------------------------------------
 *  _____       ______  _____
 * |_   _|     |  ____|/ ____|
 *   | |  _ __ | |__  | (___    Institute of Embedded Systems
 *   | | | '_ \|  __|  \___ \   Zuercher Hochschule fuer Angewandte
 *  _| |_| | | | |____ ____) |  Wissenschaften
 * |_____|_| |_|______|_____/   8401 Winterthur  Switzerland
 *---------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
 * OSA High Capacity PTP Platform
 *----------------------------------------------------------------------------
 *
 * $LastChangedDate: 2013-11-12 17:17:24 +0100 (mar., 12 nov. 2013) $
 * $Rev: 177 $
 * $Author: bacr $
 *---------------------------------------------------------------------------*/
/** @file syconf_hal.c
 *
 *  @brief set System configuration
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "hal/platform_defines.h"
#include "hal/sysconf_hal.h"
#include "hal/register.h"
#include "hal/avalon_hal.h"
#include "hal/enet_hal.h"
#include "hal/net_address_hal.h"
#include "hal/svn_rev_num.h"

#include "hcpp/ptp2_log.h"

/**
 * @brief   set own ipv4
 *
 * @param   ip
 */
void
sysconf_hal_set_own_ipv4(const ipv4_address_t *ip)
{

}

/**
 * @brief   set own mac
 *
 * @param   mac mac address
 */
void
sysconf_hal_set_own_mac(const mac_address_t *mac)
{

}


/**
 * @brief   set multicast mac address
 *
 * @param   *list array with four mac addresses (pointer to: uint64 mac[4])
 */
void
sysconf_hal_set_multicast_mac(const mac_address_t *mac)
{

}


/**
 * @brief   Set Option DelayResponse to all slaves even without valid Grant
 *
 * @param  lut TRUE to respond to all slaves
 */
void
sysconf_hal_set_delayresp_to_all(bool lut)
{

}


/**
 * @brief   set_announce_utc_offset
 *
 * @param   param
 */
void
sysconf_hal_set_announce_utc_offset(uint16_t param)
{

}


/**
 * @brief   set_announce_gm_clock_variance
 *
 * @param   param
 */
void
sysconf_hal_set_announce_gm_clock_variance(uint16_t param)
{

}


/**
 * @brief   set_announce_prio_1
 *
 * @param   param
 */
void
sysconf_hal_set_announce_prio_1(uint8_t param)
{

}


/**
 * @brief   set_announce_prio_2
 *
 * @param   param
 */
void
sysconf_hal_set_announce_prio_2(uint8_t param)
{

}


/**
 * @brief   set_announce_gm_clock_class
 *
 * @param   param
 */
void
sysconf_hal_set_announce_gm_clock_class(uint8_t param)
{

}


/**
 * @brief   set_announce_gm_clock_accurracy
 *
 * @param   param
 */
void
sysconf_hal_set_announce_gm_clock_accurracy(uint8_t param)
{

}

/**
 * @brief   set_ptp_flags octet 1 (see 13.3.2.6)
 *
 * @param   param
 *
 *  Bit  Val
 *  7    -
 *  6    -
 *  5    freq_tracable
 *  4    time_tracable
 *  3    ptp_timescale
 *  2    utc_resonable
 *  1    leap_59
 *  0    leap_61
 */
void
sysconf_hal_set_ptp_flags_oct1(uint8_t param)
{

}


/**
 * @brief   set_ptp_flags octet 0 (see 13.3.2.6)
 *
 * @param   param
 *
 *  Bit  Val
 *  7    Res
 *  6    PTP profile Specific 2
 *  5    PTP profile Specific 1
 *  4    -
 *  3    -
 *  2    unicastFlag
 *  1    twoStepFlag
 *  0    alternateMasterFlag
 */
void
sysconf_hal_set_ptp_flags_oct0(uint8_t param)
{

}


/**
 * @brief   set_ptp_domain_number
 *
 * @param   param
 */
void
sysconf_hal_set_ptp_domain_number(uint8_t param)
{

}

/**
 * @brief   set_ptp_time_source
 *
 * @param   param
 */
void
sysconf_hal_set_ptp_time_source(uint8_t param)
{

}

/**
 * @brief   gets Hardware Subversion Revision Number
 *
 * @param   none
 * @return  Revision Number
 */
uint32_t
sysconf_hal_get_hw_rev_number( void )
{
    return 0;
}

/**
 * @brief   get Software Subversion Revision Number
 *
 * @param   none
 * @return  pointer to string Revision number
 */
const char*
sysconf_hal_get_sw_rev_number( void )
{
    return svn_rev_num;
}


/**
 * @brief   use internal clock or external TOD/PPS
 *
 * @param   internal, use internal clock if set
 * @return  none
 */
void
sysconf_hal_use_internal_clock( bool internal )
{

}

/**
 * @brief   get the last PPS timestamp
 *
 * @param   none
 * @return  last pps_timestamp
 */
uint32_t
sysconf_hal_get_pps_timestamp( void )
{
    return 0;
}


/**
 * @brief   set the ptp clock stepwidth
 *
 * @param   none
 * @return  last pps_timestamp
 */
void
sysconf_hal_set_clock_stepwidth( uint64_t stepwidth)
{

}






